package net.wangy.basiccode1.jihe.collection;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;

/**
 * Comparator比较器,用于对对象进行比较，可以用于排序。
 * 下面是Comparator比较器的比较方法：
 * public int compare(String o1, String o2) ：比较其两个参数的顺序。
 *      两个对象比较的结果有三种：大于，等于，小于。
 *      如果要按照升序排序， 则o1 小于o2，返回（负数），相等返回0，01大于02返回（正数） 如果要按照
 *      降序排序 则o1 小于o2，返回（正数），相等返回0，01大于02返回（负数）
 */
public class AboutComparator {
    //排序实例，使用collections集合工具类进行排序，默认是按大小升序，但是string和对象就需要重写比较器的比较方法了
    public static void main(String[] args) {
        ArrayList<String> list=new ArrayList<>();
        list.add("cba");
        list.add("aba");
        list.add("sba");
        list.add("jba");
        //要求按照第一个单词降序排序
        Collections.sort(list, new Comparator<String>() {
            @Override
            public int compare(String o1, String o2) {
                return o2.charAt(0)-o1.charAt(0);
            }
        });
        System.out.println(list);

    }
}
